"""meiduo_mall URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.conf.urls import url, include
    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url, include
from django.contrib import admin
from rest_framework_jwt.views import obtain_jwt_token

from apps.meiduo_admin.views import specs
from .views import statistical
from .views import users,sku,category,sku_image,order,admin_permission,admin_group,admin_user,options
from .views import spu,brands,channels
from rest_framework.routers import SimpleRouter

urlpatterns = [
    #采用drf封装登录的操作
    url(r'^authorizations/$', obtain_jwt_token),
    #直接使用django进行身份的验证
    # url('^authorizations/$', admin_user.LoginView.as_view()),

    # 统计用户数量
    url(r'^statistical/total_count/$', statistical.TotalView.as_view()),
    # 统计   日新增用户
    url(r'^statistical/day_increment/$', statistical.DayAddView.as_view()),
    # 日活跃用户
    url(r'^statistical/day_active/$', statistical.ActiveView.as_view()),
    # 日下单用户量统计
    url(r'^statistical/day_orders/$', statistical.OrderView.as_view()),
    # 月曾用户统计
    url(r'^statistical/month_increment/$', statistical.MonthAddView.as_view()),
    # 日分类商品访问量
    url(r'^statistical/goods_day_views/$', statistical.GoodsView.as_view()),
    #后台项目实训
    #SPU表管理   获取SPU表数据
    url(r'^goods/$', spu.SPUsView.as_view()),
    url(r'^goods/(?P<pk>\d+)/$', spu.SPUView.as_view()),
    #SPU表管理 新增spu  简单的获取品牌的信息
    url(r'^goods/brands/simple/$', spu.GoodsSimpleAPIView.as_view()),
    #SPU管理 新增spu  获取spu商品信息的一级分类信息
    url(r'^goods/channel/categories/$', spu.GoodsChannelCategoriesAPIView.as_view()),
    url(r'^goods/channel/categories/(?P<pk>\d+)/$', spu.GoodsChannelsCategoriesAPIView.as_view()),
    #上传图片
    url(r'^goods/images/$', spu.ImageView.as_view()),
    #规格表选项管理
    url(r'^goods/specs/simple/$', options.GoodsSpecsSimpleView.as_view()),
    #商品管理  新增频道  频道组表查询
    url(r'^goods/channel_types/$', channels.GoodsChannelsSimpleAPIView.as_view()),
    # 商品管理  新增频道  频道组表查询
    url(r'^goods/categories/$', channels.GoodsCategorySimleView.as_view()),

    # 用户管理
    # 获取查询用户
    url(r'^users/$', users.UserView.as_view()),
    #保存规格表数据表数据
    url(r'^goods/simple/$', specs.SpuSimpleView.as_view()),
    #新增商品信息时 获取对应的三级分类的信息
    url(r'^skus/categories/$', category.Category3View.as_view()),
    #获取SPU商品规格信息
    url(r'^goods/(?P<pk>\d+)/specs/$', specs.SpecOptionsView.as_view()),
    # 图片管理里面的新增商品图片的位置  简单地查询sku商品
    url(r'^skus/simple/$', sku.SkuSimpleView.as_view()),
    #在用户组管理中 获取分组表中的数据  权限信息
    url(r'^permission/simple/$', admin_permission.PermissionSimpleView.as_view()),
    #系统管理 管理员管理 获取分组表数据中用户组数据
    url(r'^permission/groups/simple/$', admin_group.GroupSImpleView.as_view()),


    #采用非drf里面APIView只用简单的View进行商品规格的增删改查
    # url(r'^goods/specs/$', specs.SpecsView.as_view()),
    # url(r'^goods/specs/(?P<pk>\d+)/$', specs.SpecView.as_view()),
]

router = SimpleRouter()

#后台实训
# 规格选项表管理  获取规格表数据specs/options/
router.register('specs/options',options.SpecsOptionsViewSet,base_name='options')
#品牌管理  增删改查 品牌表操作
router.register('goods/brands',brands.GoodsBrandViewSet,base_name='brands')
#商品管理  频道管理
router.register('goods/channels',channels.GoodsChannelsViewSet,base_name='channels')

router.register('goods/specs', specs.SpecsViewSet, base_name='specs')
#图片管理
router.register('skus/images',sku_image.ImageViewSet,base_name='images')
#查询sku数据   #本条路由会覆盖上面的路由  本条路由的优先级比较高
router.register('skus',sku.SkuViewSet,base_name='skus')
#订单的查询 订单的管理部分的数据查询
router.register('orders',order.OrderViewSet,base_name='orders')
#系统管理  权限管理
router.register('permission/perms',admin_permission.PermissionViewSet,base_name='permission')
#用户组管理 用户组里面的各种操作
router.register('permission/groups',admin_group.GroupViewsSet,base_name='groups')
#系统管理 里面的管理员管理等操作
router.register('permission/admins',admin_user.UserViewSet,base_name='admin')
urlpatterns += router.urls
